In 1978, a framework of international standards for computer network architecture known as OSI (Open Systems Interconnect) was developed. The OSI reference model of network architecture consists of seven layers. From the lowest to the highest, the layers are: (1) the physical layer; (2) the datalink layer; (3) the network layer; (4) the transport layer; (5) the session layer; (6) the presentation layer; and (7) the application layer. Each layer uses the layer below it to provide a service to the layer above it. The lower layers are implemented by lower level protocols which define the electrical and physical standards, perform the byte ordering of the data, and govern the transmission and error detection and correction of the bit stream. The higher layers are implemented by higher level protocols which deal with, inter alia, data formatting, terminal-to-computer dialogue, character sets, and sequencing of messages.
Layer 1, the physical layer, controls the direct host-to-host communication between the hardware of the end users' data terminal equipment (e.g., a modem connected to a PC). Layer 2, the datalink layer, generally fragments the data to prepare it to be sent on the physical layer, receives acknowledgment frames, performs error checking, and retransmits frames which have been incorrectly received.
Layer 3, the network layer, generally controls the routing of packets of data from the sender to the receiver via the datalink layer. It is used by the transport layer. An example of the network layer is Internet Protocol (IP) which is the network layer for the TCP/IP protocol widely used on Ethernet networks. In contrast to the OSI seven-layer architecture, TCP/IP (Transmission Control Protocol over Internet Protocol) is a five-layer architecture which generally consists of the network layer and the transport layer protocols. The transport layer (Layer 4) determines how the network layer should be used to provide a point-to-point, virtual, error-free connection so that the end point devices send and receive uncorrupted messages in the correct order. This layer establishes and dissolves connections between hosts. It is used by the session layer. TCP is an example of the transport layer.
Layer 5, the session layer, uses the transport layer and is used by the presentation layer. The session layer establishes a connection between processes on different hosts. It handles the creation of sessions between hosts as well as security issues. Layer 6, the presentation layer, attempts to minimize the noticeability of differences between hosts and performs functions such as text compression and format and code conversion. Layer 7, the presentation layer, is used by the application layer to provide the user with a localized representation of data which is independent of the format used on the network. The application layer is concerned with the user's view of the network and generally deals with resource allocation, network transparency and problem partitioning.
The Point-to-Point Protocol (PPP) generally encompasses the datalink layer (layer 2) and the network layer (layer 3) of the OSI model. PPP was designed to provide a standard Internet encapsulation protocol for transmitting multi-protocol datagrams over point-to-point links. PPP has three main components, namely, (1) an encapsulation method (HDLC-like), (2) a link control protocol (LCP) for establishing, configuring and testing the datalink connection, and (3) a family of network control protocols (NCPs) for establishing and configuring different network layer protocols. PPP using HDLC-like framing is defined in Request For Comments (RFC) 1662. PPP is capable of operating over most data terminal equipment/data communication equipment (DTE/DCE) interfaces (e.g., EIA RS-232-E, EIA RS-422 and CCITT V.35). PPP requires a dedicated or switched full-duplex circuit which can operate in either asynchronous, bit-synchronous or octet-synchronous mode and which is transparent to the datalink layer frames. PPP presents an octet interface to the physical layer and makes no provisions for accepting sub-octets. PPP accommodates several different network layer protocols, such as Internet Protocol (IP), Internetwork Packet Exchange (IPX), DECnet, etc.
Most remote local area network access and Internet access is performed using asynchronous communications across a modem or across an ISDN terminal adapter (TA). However, the higher level layers, IP or TCP/IP, are block-oriented and normally require a synchronous protocol for transmission. In order to transmit these higher level layers over asynchronous communication links, low level protocols, such as PPP, have been developed. These lower level protocols present a significant processing load to the end point device processor because of the character-intensive nature of the protocols. In the past, the end point device processor has been made responsible for all PPP processing. End point devices, such as personal computers, used by Internet service providers should each be capable of simultaneously servicing several users in order to maximize efficiency. Therefore, each end point device of the Internet service provider normally includes several modems for simultaneous communication with a plurality of users. The modems usually are located on cards which reside inside of the end point device. This arrangement requires that the host processor of each end point device perform the protocol processing, including PPP processing, for a plurality of users. The processing of the lower level protocols, such as PPP, takes up a large amount of the processing time of the end point device processor which could be used by the end point device processor to perform other processing tasks.
In accordance with the present invention, the processing of the lower level protocols is accomplished by the processor of the communication device, thus increasing throughput and leaving the processor of the end point device free to handle other tasks.